#ifndef __DESTESTVECTORSSET1__
#define __DESTESTVECTORSSET1__

#include "../plainkeycipher.h"

// Test vectors from <https://www.cosic.esat.kuleuven.be/nessie/testvectors/bc/des/Des-64-64.test-vectors>

static const std::vector <PlainKeyCipher> DES_TEST_VECTORS_SET_1 = {
    std::make_tuple("0000000000000000", "8000000000000000", "95A8D72813DAA94D"),
    std::make_tuple("0000000000000000", "4000000000000000", "0EEC1487DD8C26D5"),
    std::make_tuple("0000000000000000", "2000000000000000", "7AD16FFB79C45926"),
    std::make_tuple("0000000000000000", "1000000000000000", "D3746294CA6A6CF3"),
    std::make_tuple("0000000000000000", "0800000000000000", "809F5F873C1FD761"),
    std::make_tuple("0000000000000000", "0400000000000000", "C02FAFFEC989D1FC"),
    std::make_tuple("0000000000000000", "0200000000000000", "4615AA1D33E72F10"),
    std::make_tuple("0000000000000000", "0100000000000000", "8CA64DE9C1B123A7"),
    std::make_tuple("0000000000000000", "0080000000000000", "2055123350C00858"),
    std::make_tuple("0000000000000000", "0040000000000000", "DF3B99D6577397C8"),
    std::make_tuple("0000000000000000", "0020000000000000", "31FE17369B5288C9"),
    std::make_tuple("0000000000000000", "0010000000000000", "DFDD3CC64DAE1642"),
    std::make_tuple("0000000000000000", "0008000000000000", "178C83CE2B399D94"),
    std::make_tuple("0000000000000000", "0004000000000000", "50F636324A9B7F80"),
    std::make_tuple("0000000000000000", "0002000000000000", "A8468EE3BC18F06D"),
    std::make_tuple("0000000000000000", "0001000000000000", "8CA64DE9C1B123A7"),
    std::make_tuple("0000000000000000", "0000800000000000", "A2DC9E92FD3CDE92"),
    std::make_tuple("0000000000000000", "0000400000000000", "CAC09F797D031287"),
    std::make_tuple("0000000000000000", "0000200000000000", "90BA680B22AEB525"),
    std::make_tuple("0000000000000000", "0000100000000000", "CE7A24F350E280B6"),
    std::make_tuple("0000000000000000", "0000080000000000", "882BFF0AA01A0B87"),
    std::make_tuple("0000000000000000", "0000040000000000", "25610288924511C2"),
    std::make_tuple("0000000000000000", "0000020000000000", "C71516C29C75D170"),
    std::make_tuple("0000000000000000", "0000010000000000", "8CA64DE9C1B123A7"),
    std::make_tuple("0000000000000000", "0000008000000000", "5199C29A52C9F059"),
    std::make_tuple("0000000000000000", "0000004000000000", "C22F0A294A71F29F"),
    std::make_tuple("0000000000000000", "0000002000000000", "EE371483714C02EA"),
    std::make_tuple("0000000000000000", "0000001000000000", "A81FBD448F9E522F"),
    std::make_tuple("0000000000000000", "0000000800000000", "4F644C92E192DFED"),
    std::make_tuple("0000000000000000", "0000000400000000", "1AFA9A66A6DF92AE"),
    std::make_tuple("0000000000000000", "0000000200000000", "B3C1CC715CB879D8"),
    std::make_tuple("0000000000000000", "0000000100000000", "8CA64DE9C1B123A7"),
    std::make_tuple("0000000000000000", "0000000080000000", "19D032E64AB0BD8B"),
    std::make_tuple("0000000000000000", "0000000040000000", "3CFAA7A7DC8720DC"),
    std::make_tuple("0000000000000000", "0000000020000000", "B7265F7F447AC6F3"),
    std::make_tuple("0000000000000000", "0000000010000000", "9DB73B3C0D163F54"),
    std::make_tuple("0000000000000000", "0000000008000000", "8181B65BABF4A975"),
    std::make_tuple("0000000000000000", "0000000004000000", "93C9B64042EAA240"),
    std::make_tuple("0000000000000000", "0000000002000000", "5570530829705592"),
    std::make_tuple("0000000000000000", "0000000001000000", "8CA64DE9C1B123A7"),
    std::make_tuple("0000000000000000", "0000000000800000", "8638809E878787A0"),
    std::make_tuple("0000000000000000", "0000000000400000", "41B9A79AF79AC208"),
    std::make_tuple("0000000000000000", "0000000000200000", "7A9BE42F2009A892"),
    std::make_tuple("0000000000000000", "0000000000100000", "29038D56BA6D2745"),
    std::make_tuple("0000000000000000", "0000000000080000", "5495C6ABF1E5DF51"),
    std::make_tuple("0000000000000000", "0000000000040000", "AE13DBD561488933"),
    std::make_tuple("0000000000000000", "0000000000020000", "024D1FFA8904E389"),
    std::make_tuple("0000000000000000", "0000000000010000", "8CA64DE9C1B123A7"),
    std::make_tuple("0000000000000000", "0000000000008000", "D1399712F99BF02E"),
    std::make_tuple("0000000000000000", "0000000000004000", "14C1D7C1CFFEC79E"),
    std::make_tuple("0000000000000000", "0000000000002000", "1DE5279DAE3BED6F"),
    std::make_tuple("0000000000000000", "0000000000001000", "E941A33F85501303"),
    std::make_tuple("0000000000000000", "0000000000000800", "DA99DBBC9A03F379"),
    std::make_tuple("0000000000000000", "0000000000000400", "B7FC92F91D8E92E9"),
    std::make_tuple("0000000000000000", "0000000000000200", "AE8E5CAA3CA04E85"),
    std::make_tuple("0000000000000000", "0000000000000100", "8CA64DE9C1B123A7"),
    std::make_tuple("0000000000000000", "0000000000000080", "9CC62DF43B6EED74"),
    std::make_tuple("0000000000000000", "0000000000000040", "D863DBB5C59A91A0"),
    std::make_tuple("0000000000000000", "0000000000000020", "A1AB2190545B91D7"),
    std::make_tuple("0000000000000000", "0000000000000010", "0875041E64C570F7"),
    std::make_tuple("0000000000000000", "0000000000000008", "5A594528BEBEF1CC"),
    std::make_tuple("0000000000000000", "0000000000000004", "FCDB3291DE21F0C0"),
    std::make_tuple("0000000000000000", "0000000000000002", "869EFD7F9F265A09"),
    std::make_tuple("0000000000000000", "0000000000000001", "8CA64DE9C1B123A7"),
};

#endif // __DESTESTVECTORSSET1__